• Image placeholder
  • 홈 페이지
  • 블로그 센터
  • 범주
Image placeholder

경기 프로그래밍

Visual Studio 2017에서 C++ 라이브러리 "Boost"를 넣는 방법

AtCoder로 경기 프로그래밍을 하는 중 최대 공약수·최소 공배수를 출력하고 싶다 경우가 있습니다. C++17에 gcd와 lcm 함수가 있는데, Atcoder는 C++14까지밖에 대응하지 않기 때문에 사용할 수 없습니다 ... 거기서 최강 라이브러리 Boost를 도입해, 이 문제를 해결하려고 하는 기사입니다. 사용 환경: Windows10 Visual Studio2017 boost 1_68...

C++AtCoder경기 프로그래밍VisualStudio2017

VSCode + atcoder-cli 환경 내에서 AtCoder 디버그 환경 구축.

반년 정도 하지 않았던 경프로를 다시 시작할 때 환경 구축을 했습니다. 지금까지는 Python에서 Print 디버깅을 하고 있는 몸이었지만, 환경 구축까지 한다면 차라리 C++로 환승하려고 하는 것으로 C++로 했습니다. 이 사이트 님을 참고로 진행하고 있었습니다. 최종 완성은 이런 느낌 이 상태에서는 콘테스트 개최 페이지에서 끌어온 테스트 예를 시도할 수 있습니다(데포에서는 ctrl+t)....

AtCoderC++14Mac경기 프로그래밍VSCode

AtCoder에 초보자가 첫 도전

추천된 이 페이지의 문제를 도전해 가고 싶습니다. 거의 초보자이므로 시행 착오 한 모든 것을 얹어 가고 싶습니다. 경기 프로그래밍 1일째! 한 달 차분히 초보자 콘테스트를 클리어할 수 있게 되는 것이 목표입니다! 이번에는 삼문 해 나갈 것입니다. 오늘 (21/04/17) 초보 대회는 팔 시험으로 도전하고 싶습니다. 다음 달에는 얼마나 늘릴지 최선을 다할 것입니다 · 이것은 기본적인 문제일 것...

AtCoder신인 프로그래머 응원초보자경기 프로그래밍

계속·경기 프로그래밍에 procedural macro를 반입

전회의 기사에서는 경기 프로그래밍에 수속형 매크로를 반입하고 싶은 동기와, 그것을 이루기 위한(별로 스마트라고는 할 수 없는) 방법을 소개했습니다. 그리고 요전날 "그렇다면 rust-analzyer (RA)는 어떻게 프로 시저 매크로를 다루고 있습니까?", rpc , msg 라는 단어가 눈에 들어왔습니다. For proc macros, the client-server model are use...

경기 프로그래밍Rust

lower_bound와 upper_bound를 직관적으로 이해하고 싶다 (내림차순 배열에 사용하고 싶다)

lower_bound, upper_bound, 결국 어느 쪽을 사용하면 좋을까? 이 기사에서는 직관적으로 lower_bound나 upper_bound가 잘 다룰 수 있게 되는 것을 목표로 한다. 와 내림차순으로 배열되는 배열에 대해 41, 40, 39, 21, 20, 19, 18, 2, 1, 0 등을 key로 했을 때, lower_bound, upper_bound를 어떻게 사용하면 좋을까, ...

C++경기 프로그래밍

경기 프로그래밍에서 DC 사용 (3/?)

여기서는 d, r, s 등의 명령에 대해 설명합니다. 이것은 스택의 내용을 위에서부터 순서대로 모두 출력합니다. 자신의 코드가 제대로 움직이고 있는지 확인 등에 사용할 수 있습니다. 맨 위에 있는 데이터를 복제하여 맨 위에 쌓습니다. 첫 번째와 두 번째 데이터를 바꿉니다. 맨 위 데이터를 검색하고 s x 에서 x 라는 변수에 넣습니다. l x 에서 x 의 데이터를 스택의 맨 위에 쌓습니다. ...

AtCoder경기 프로그래밍DC코드 골프

【비망록】2차원 이모스법

그래서 잘 풀리지 않았기 때문에, 반성과 비망록을 담아 기사로 합니다. atcoder는 녹색입니다. (상당히 비망록의 의미가 강하게 내가 나중에 보답해 이해하기 쉽도록 작성합니다) 엄격한 이야기까지 말하는 법에 대해 이해하기 어려웠기 때문에, 누적 합의 확실히 견해의 생각, 그리고 상기 전형적인 90에서의 2차원 이모하는 법의 사고방식의 차이(조심하는 것)를 기록합니다. 누적합 누적 합의 장...

AtCoder경기 프로그래밍이모스법

경기 프로그래밍 사이트의 코딩 편집기 유형을 살펴 보았습니다.

경쟁 프로사이트 이름 편집기 유형 AtCoder CodeMirror AOJ (Aizu Online Judge) β ace CodeChef ace CodeForces ace CodinGame Monaco Editor CSAcademy ace GeeksForGeeks ace GCJ (Google CodeJam) ace HackerEarth Monaco Editor HackerRank Monaco...

경기 프로그래밍

【AtCoder】ABC204를 Python3로 해설

ABC204의 해설. 해설 두 손에서 또 다른 손을 추측하는 문제. 0 는 구, 1 는 조키를, 2 는 파로 하면, 전체의 합계가 3 이 되므로, 2명의 손을 당긴 것이 또 1명의 손이 된다. 또, 전원 같은 손의 경우는, 누군가 1명의 손을 출력하면 된다. 코드 해설 코드 해설 스타트 지점을 고정했을 때 골 지점으로 할 수 있는 도시의 개수를 세는 문제. 그림에서 보면 다음과 같습니다. 우...

AtCoder경기 프로그래밍Python3ABC204

ABC203

알고리즘의 공부도 하고 싶습니다만, 이달중에 기본 정보 기술자 시험을 받아야 하지요. 그래서, 그쪽이 끝나는 대로 알고리즘의 공부는 본허를 넣을 수 있을까. 1주일 만에 코드를 썼기 때문에 이것이 위험한 결과가 될 것이라고 생각했지만, 의외로 어떻게든 꽤 있었습니다. 이대로 내려가지 않으면 이달 중 초록 갈 수 있을 것 같습니다! 은근하게 본 느낌 D문제가 서투른 깊이 우선 탐색이나 폭 우선...

AtCoder파이썬경기 프로그래밍

【AtCoder】경프전형 039 Tree Distance

스스로 생각해도 몰랐습니다만, 전형적인 문제이므로 해설 AC했습니다. 모든 정점끼리의 최단 경로를 구하려고 하면 TLE가 됩니다. 거기서, 각각의 변을 통과하는 정점의 조합은 몇 가지인가? 생각합니다. 위의 빨간 변의 경우 6 거리. 이 조합을 빠르게 계산하는 것을 고려하면 위와 같이 변 앞과 맞은편으로 그룹을 나누면 좋은 것을 알 수 있습니다. 각각의 그룹으로부터 요소를 하나씩 선택하는 경...

C++AtCoder경기 프로그래밍전형적인 90문

ABC146-C 문제로 이분 탐색 방법 이해

끝난 이나 에 들어간 데이터(동일한 값은 없는 것으로 한다)에 대한 검색을 실시할 때에, 중앙의 값을 보고, 검색하고 싶은 값과의 대소 관계를 이용해, 검색하고 싶은 값이 중앙의 값의 오른쪽에 있는지, 왼쪽에 있는지를 판단해, 한쪽에는 존재하지 않는 것을 확인하면서 검색해 간다. 이분 탐색은 자격 시험에서도 자주 등장하는 매우 유명하고 기본적인 알고리즘입니다. ABC의 A문제나 B문제로는 전...

AtCoder파이썬경기 프로그래밍이분 탐색법

Codeforces Round #510 (Div. 2) D. Petya and Array 좌압과 세그먼트 트리

문제는 바꿔 말하면, 구간 $[l, r)$의 부분합이 $t$ 미만의 부분합이 되는, $l,r$의 수를 요구하고 싶다. 즉, $a_0$에서 있는 $a_i$까지의 합을 index로, 출현 횟수를 값으로 하는 세그먼트 트리 $st$를 가집니다. $[5,-1,3,4,-1]$이면 누적 합은 $[5,4,7,11,10]$이므로 좌압을 위한 테이블 $[4,5 ,7,10,11]$를 가지고 $1,0,2,4,3...

codeforces파이썬좌표 압축경기 프로그래밍세그먼트 트리

ABC200

다랑이라는 것으로, 심지어 단단한 취활이 코로나에 의해 한층 더 베리 하드가 된다고는 불안해졌습니다. A, B, C 문제는 15분 정도로 해답할 수 있었습니다. A 문제 100으로 나눠서 나누어질 수 있을지 1을 더할지 판별했습니다. B 문제 200의 배수라면 200으로 나누고, 그렇지 않으면 1000배를 곱한 후 200을 더했습니다. C 문제 200이라는 숫자가 나오면 나오는 것은 200번...

AtCoder경기 프로그래밍Python3

CodigGame의 게임 AI 대전 환경을 로컬로 움직인다 ~Kotlin편~

자작의 게임 AI를 싸우는 오리지널 게임이 매우 잘 짜여져 있고 또한 사이트의 완성도도 높고, 수많은 프로그래밍 사이트 중에서도 톱 클래스의 재미라고 생각합니다. CodinGame에서는 에디터에서 코드를 쓰고 빌드하고 대전시킬 때까지 사이트에서 완결하게 되어 있어 브라우저 하나 있으면 놀 수 있게 되어 있습니다. 하지만 새로운 전략을 시도하거나 파라미터 조정을 할 때는 브라우저상에서 포치포치...

경기 프로그래밍자바Kotlincodingame

유클리드 호제법의 지굴과 구현

본고는 큰 수끼리의 최대 공약수를 재빠르게 구할 수 있는 계산 방법인 「유클리드의 호제법」에 대한 정리와 (Python3.x계에서) 실장 스크립트를 자신용으로 기사로 한 것입니다. 공부중이기 때문에 기술내용에 실수등 있을지도 모릅니다. 유클리드의 「호제법」이란 「나누어질 때까지 너무 서로 나누어(제법) 계속한다」라고 하는 의미. 이것을 사용하여 큰 숫자들의 최대 공약수를 빠르게 계산하는 방법...

경기 프로그래밍수학유클리드 호제법알고리즘

ABC179 : E-Sequence Sum의 주기성에 대해

이 기사에서는 ABC179에서 E 문제로 출제된 Sequence Sum이라는 문제에 대해 설명합니다. 기사를 쓰려고 생각한 동기로서는, 「왜 이번 수열에 주기성이 존재하는 것인가?」라고 의문으로 생각했기 때문입니다. 생각해 보면 주기성이 존재하는 것은 당연한 일입니다만, 제대로 설명하고 있는 기사가 현시점에서는 보이지 않았기 때문에 집필하기로 했습니다. 이 문제는 $A_{n+1} = {A_n...

경기 프로그래밍수학정수알고리즘

AtCoder 갈색 (400)이 될 때까지 한 일

안녕하세요, yukad2입니다. 이 기사에서는 내가 AtCoder에서 Rating : 400이 될 때까지 공부 한 것을 요약합니다. 중학생 때 C++ 게임 프로그래밍에 도전했지만 if, for가 이해할 수 있는 정도의 지식이었습니다. 대학 1년에 학습한 Ruby가 (C에 비해) 매우 쓰기 쉬웠기 때문에, 프로그래밍의 연습도 겸해 경기 프로그래밍을 시작했습니다. 1. 을 읽고, 취활까지(2년 ...

AtCoderAtCoderBeginnerContest경기 프로그래밍수학루비

소인수분해를 이미 알고 있는 경우의 약수열거 (Python)

AtCoder등의 경기 프로그래밍 문제를 풀고 있을 때, 「소인수 분해는 이미 알고 있기 때문에, 이것을 조합해 약수를 생성하고 싶다」라고 하는 것을 하고 싶어지는 경우가 있습니다. $N$ 개의 정수로 구성된 $A$ 열이 있습니다. 수열 $A$ 의 곱 $A_1 * A_2 * ... * A_N$ 를 $X$ 로 할 때, $X$ 의 약수를 모두 출력해 주세요. $N <= 2 * 10^5$ $X <...

AtCoder파이썬알고리즘경기 프로그래밍수학

2선분의 교점 좌표(2차원)

여기에서는 동일 평면상에 존재하고, 병행이 아닌 선분 $AB, CD$ 에 대해 생각한다. 4점 $A, B, C, D$ 의 2차원 좌표가 주어졌을 때의 교점 $X$ 의 좌표를 구하고 싶다. 점 $X$ 는 선분 $AB, CD$ 에 존재하므로 매개 변수 $s, t$ 를 사용하여 $\vec{AB} = B - A,\vec{CD} = D - C$ 이므로 각 점에 대해 $x, y$ 좌표의 관계식이 구해진...

C++AOJ알고리즘경기 프로그래밍수학

[경쟁 프로] 반복 제곱법【Java】【Python】

이번은 반복 제곱법에 대해입니다. Java로 작성해 보겠습니다. 또, 반복 제곱법을 사용한 문제를 Java, Python으로 풀어 보겠습니다. 다음과 같이 지수를 2의 승표기를 하여 누승 계산을 합니다. N승의 계산이 O(N)에서 O(logN)가 됩니다. 3^10을 구합니다. 10 = 2^3 + 2^1로 표현할 수 있기 때문에, 3^10 = 3^(2^3 + 2^1) = 3^(2^3) * 3^...

파이썬자바경기 프로그래밍알고리즘

Python 경쟁 프로 er에 대한 테스트 환경 구축 with Atom

앞으로 Python에서 경기 프로그래밍을 시작하는 사람이나 이미 경쟁 프로 er이지만 테스트 환경을 가지고 있지 않기 때문에 사람을위한 기사입니다. 테스트 환경을 만드는 방법의 기사가 보이지 않아서 곤란했기 때문에 썼습니다. 단순히 표준 입력을 받는 방법을 알고 싶은 사람은 다음 기사가 정리되어있어 매우 좋습니다. 와 같은 복수행의 입력이 있을 때, 실행할 때마다 이것을 입력하는 것은 매우 ...

ATOM파이썬Windows경기 프로그래밍PowerShell

AtCoder 테스트 케이스를 JupyterNotebook에서 쉽게 입력하고 실행하는 방법

나도 재미있을 것 같다! 그냥 콘테스트에서 코드를 작성할 때 라는, 왠지 정확히 좋은 코딩 환경을 찾을 수 없다고 하는 기분에. 그리고 여러가지 시험해 본 가운데, JupyterNotebook이 정확하게 좋을 것 같다! 라는 것을 실감해 왔으므로 공유하고 싶습니다! 그것은 "테스트 케이스를 잘 입력하는 수단이 없다"라는 곳입니다! input()로 입력을 받고 싶은데, 그렇게 준비되어 있지 않...

AtCoderJupyter-notebook파이썬경기 프로그래밍

AtCoder의 속도가 너무 높아서 깨지기 때문에 CLI 도구를 만들었습니다.

작년 7 월부터 Bochibochi와 AtCoder 대회에 참가했습니다. 차와 초록 사이를 왔다 갔다가 깨끗했기 때문에 내가 생각한 가장 강한 AtCoder CLI 도구를 만들었습니다. 이것을 이용하는 것으로 아래의 데모와 같이 슈와 코드를 써, 슈와 테스트해, 슈와 제출하는 것이 가능합니다. 아직 실천에서 테스트되지 않았고 지원하는 언어도 많지 않으므로 사용해 보면 뭔가 문제가 있었을 경우...

AtCoder경기 프로그래밍cliTerminal도커

LeetCode 141. Linked List Cycle 해답 예 (Python)

LeetCode 문제 141. Linked List Cycle의 Python에서의 해답 예입니다. 문제문은 간단하고 연결 목록이 주어지면 그것이 사이클(순환)을 가질지 어떨지를 결정하라(Given a linked list, determine if it has a cycle in it.)라는 문제입니다. 인수는 연결 목록(Linked List)입니다. 풀 때 알고리즘은 간단합니다. 여기에서는 ...

파이썬경기 프로그래밍leetcode

【#HTTF】 경쟁 프로의 3D 비주얼 라이저를 만든 이야기

2018년 02월 17일에 (#HTTF)라는 마라톤 형식의 경기 프로그래밍 콘테스트 예선이 열렸습니다. 참가해 주신 여러분 감사합니다. 이번에 이 #HTTF용으로 비주얼라이저를 만들었습니다. 문제가 「산형 더하기」라고 하는 세로・가로・높이의 해가 요구되는 것이었기 때문에, 비주얼라이저도 3차원이 보기 쉽다고 생각해, 이런 느낌으로 만들어 보았습니다. 피라미드를 쌓아 정답 데이터에 접근해라. ...

경기 프로그래밍three.js

Sparse Table을 아십니까? 나는 알고 있다.

Sparse Table을 지금 배웠으므로, 메모를 겸해 씁니다. 불변의 수열의 임의의 구간에 대한 최소치/최대치를, 전처리 $O(N\log N)$, 쿼리 마다 $O(1)$ 로 구하는 데이터 구조입니다. 숫자 열의 값이 변경될 수 있다면 SegmentTree를 사용합시다. SegmentTree 기사는 입니다. 모든 점을 시작점으로 하여 길이가 2인 구간의 최소값/최대값을 먼저 구해 둡니다. 이...

데이터 구조math경기 프로그래밍알고리즘

기본 정렬 알고리즘과 Python을 사용한 구현 예

기본적인 정렬 알고리즘의 개요와 Python에 의한 구현 예를 정리했습니다. 배열을 소트 끝난 부분과 미소트의 부분으로 나누어 생각해, 미소트 부분의 요소를 소트 부분의 확실한 위치에 삽입해 가는 이미지입니다. 평균 계산 시간·최악 계산 시간은 모두 O($n^2$)입니다만, 어느 정도 정렬된 데이터에 대해서는 고속으로 동작합니다. 안정적인 정렬 알고리즘입니다. 버블 소트는 인접하는 요소로 크...

파이썬경기 프로그래밍algorithm알고리즘

폭 우선 탐색(BFS) 및 깊이 우선 탐색(DFS)

그래프나 나무의 탐색에 이용되는 폭 우선 탐색과 깊이 우선 탐색에 대해서, Python에서의 구현을 이용하면서 소개합니다. 폭 우선 탐색(BFS)은 그래프에 있어서의 검색 방법의 일종으로, 주어진 node로부터 가까운 node를 순서대로 탐색해 갑니다. 깊이 우선 탐색(DFS)에서는 스택을 사용하는 반면, BFS는 큐를 사용하여 구현할 수 있습니다. 노드간의 최단 거리를 요구하고 싶을 때 등...

데이터 구조파이썬알고리즘경기 프로그래밍algorithm
이전 기사 보기

© 2022 intrepidgeeks.com

Privacy Policy Contact US Sitemap
🍪 This website uses cookies to ensure you get the best experience on our website. Learn more